http://docs.scipy.org/doc/numpy/reference/generated/numpy.fft.fft.html#numpy.fft.fft

Compute the one-dimensional discrete Fourier Transform.

This function computes the one-dimensional n-point discrete Fourier Transform (DFT) with the efficient Fast Fourier Transform (FFT) algorithm [CT].

Parameters: a : array_like Input array, can be complex. n : int, optional Length of the transformed axis of the output. If n is smaller than the length of the input, the input is cropped. If it is larger, the input is padded with zeros. If n is not given, the length of the input along the axis specified by axis is used. axis : int, optional Axis over which to compute the FFT. If not given, the last axis is used. Returns:
out : complex ndarray The truncated or zero-padded input, transformed along the axis indicated by axis, or the last one if axis is not specified. Raises: IndexError : if axes is larger than the last axis of a. See also numpy.fft for definition of the DFT and conventions used. ifft The inverse of fft. fft2 The two-dimensional FFT. fftn The n-dimensional FFT. rfftn The n-dimensional FFT of real input. fftfreq Frequency bins for given FFT parameters. Notes

FFT (Fast Fourier Transform) refers to a way the discrete Fourier Transform (DFT) can be calculated efficiently, by using symmetries in the calculated terms. The symmetry is highest when n is a power of 2, and the transform is therefore most efficient for these sizes.

The DFT is defined, with the conventions used in this implementation, in the documentation for the numpy.fft mo


In [2]:
import numpy as np
import math
import iris

In [5]:
%matplotlib inline

In [12]:
experiment_ids = ['djzny']
pp_file_path='/nfs/a90/eepdw/Data/EMBRACE/'
diag = '408_on_p_levs'

p_lev=925.

In [13]:
for experiment_id in experiment_ids:
    
    expmin1 = experiment_id[:-1]

    fu = '%s%s/%s/%s_%s.pp' % (pp_file_path, expmin1, experiment_id, experiment_id, diag)
    
    cube = iris.load_cube(fu)
    
    cube_slice = cube.extract(iris.Constraint(pressure=p_lev))

In [14]:
cube.coord('pressure')


Out[14]:
DimCoord(array([   10.,    20.,    30.,    50.,    70.,   100.,   150.,   200.,
         250.,   300.,   400.,   500.,   700.,   850.,   925.,   950.,
        1000.], dtype=float32), standard_name=None, units=Unit('hPa'), long_name='pressure')

In [15]:
cube_slice


Out[15]:
<iris 'Cube' of unknown / (unknown) (time: 492; grid_latitude: 50; grid_longitude: 50)>

In [98]:
n=cube_slice.shape[0]*2
#int(math.ceil(np.sqrt(n))

In [134]:
def NextPower2(value):
    powof2 = 1
# Double powof2 until >= val
    while( powof2 < value): powof2 *= 2;
        
    return powof2

In [135]:
powof2 = NextPower2(cube_slice.shape[0])

In [218]:
DiurnalFreq = 1/freq[np.where((1/freq<=28.) & (1/freq >=0.))]

DiurnalTransformAmps = np.sqrt(sp.real**2 + sp.imag**2)[np.where((1/freq<=28.) & (1/freq >=0.))]
AmpSort = np.argsort(DiurnalTransformAmps,axis=0)

DiurnalFreqSort = DiurnalFreq[AmpSort]
DiurnalAmpsSort = DiurnalTransformAmps[AmpSort]

In [220]:
DiurnalAmpsSort.shape


Out[220]:
(228, 50, 50, 50, 50)

In [215]:
DiurnalFreq[23]


Out[215]:
11.999999999999998

In [208]:
DiurnalTransformAmps[AmpSort]


Out[208]:
(492, 50, 50)

In [227]:
AmpSort[-1].shape


Out[227]:
(50, 50)

In [209]:
DiurnalAmpsSort = DiurnalTransformAmps[AmpSort,:,:]

In [211]:
DiurnalAmpsSort.shape


Out[211]:
(228, 50, 50, 50, 50)

In [226]:
plt.contourf(cube_slice.coord('grid_longitude').points, cube_slice.coord('grid_latitude').points, DiurnalTransformAmps[3])
plt.colorbar()
plt.title(DiurnalFreq[3])
plt.show()



In [225]:
plt.contourf(cube_slice.coord('grid_longitude').points, cube_slice.coord('grid_latitude').points, DiurnalTransformAmps[2])
plt.colorbar()
plt.title(DiurnalFreq[2])
plt.show()



In [224]:
plt.contourf(cube_slice.coord('grid_longitude').points, cube_slice.coord('grid_latitude').points, DiurnalTransformAmps[23])
plt.colorbar()
plt.title(DiurnalFreq[23])
plt.show()



In [228]:
plt.contourf(cube_slice.coord('grid_longitude').points, cube_slice.coord('grid_latitude').points, DiurnalTransformAmps[AmpSort[-1]])
plt.colorbar()
plt.title(DiurnalFreq[23])
plt.show()


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-228-c678b340dd59> in <module>()
----> 1 plt.contourf(cube_slice.coord('grid_longitude').points, cube_slice.coord('grid_latitude').points, DiurnalTransformAmps[AmpSort[-1]])
      2 plt.colorbar()
      3 plt.title(DiurnalFreq[23])
      4 plt.show()

/nfs/see-fs-01_users/eepdw/.local/lib/python2.7/site-packages/matplotlib-1.4.0-py2.7-linux-x86_64.egg/matplotlib/pyplot.pyc in contourf(*args, **kwargs)
   2710         ax.hold(hold)
   2711     try:
-> 2712         ret = ax.contourf(*args, **kwargs)
   2713         draw_if_interactive()
   2714     finally:

/nfs/see-fs-01_users/eepdw/.local/lib/python2.7/site-packages/matplotlib-1.4.0-py2.7-linux-x86_64.egg/matplotlib/axes/_axes.pyc in contourf(self, *args, **kwargs)
   5323             self.cla()
   5324         kwargs['filled'] = True
-> 5325         return mcontour.QuadContourSet(self, *args, **kwargs)
   5326     contourf.__doc__ = mcontour.QuadContourSet.contour_doc
   5327 

/nfs/see-fs-01_users/eepdw/.local/lib/python2.7/site-packages/matplotlib-1.4.0-py2.7-linux-x86_64.egg/matplotlib/contour.pyc in __init__(self, ax, *args, **kwargs)
   1426         are described in QuadContourSet.contour_doc.
   1427         """
-> 1428         ContourSet.__init__(self, ax, *args, **kwargs)
   1429 
   1430     def _process_args(self, *args, **kwargs):

/nfs/see-fs-01_users/eepdw/.local/lib/python2.7/site-packages/matplotlib-1.4.0-py2.7-linux-x86_64.egg/matplotlib/contour.pyc in __init__(self, ax, *args, **kwargs)
    872         self._transform = kwargs.get('transform', None)
    873 
--> 874         self._process_args(*args, **kwargs)
    875         self._process_levels()
    876 

/nfs/see-fs-01_users/eepdw/.local/lib/python2.7/site-packages/matplotlib-1.4.0-py2.7-linux-x86_64.egg/matplotlib/contour.pyc in _process_args(self, *args, **kwargs)
   1439             self.zmax = args[0].zmax
   1440         else:
-> 1441             x, y, z = self._contour_args(args, kwargs)
   1442 
   1443             _mask = ma.getmask(z)

/nfs/see-fs-01_users/eepdw/.local/lib/python2.7/site-packages/matplotlib-1.4.0-py2.7-linux-x86_64.egg/matplotlib/contour.pyc in _contour_args(self, args, kwargs)
   1503             args = args[1:]
   1504         elif Nargs <= 4:
-> 1505             x, y, z = self._check_xyz(args[:3], kwargs)
   1506             args = args[3:]
   1507         else:

/nfs/see-fs-01_users/eepdw/.local/lib/python2.7/site-packages/matplotlib-1.4.0-py2.7-linux-x86_64.egg/matplotlib/contour.pyc in _check_xyz(self, args, kwargs)
   1537 
   1538         if z.ndim != 2:
-> 1539             raise TypeError("Input z must be a 2D array.")
   1540         else:
   1541             Ny, Nx = z.shape

TypeError: Input z must be a 2D array.

In [230]:
DiurnalTransformAmps[AmpSort[-1]].shape


Out[230]:
(50, 50, 50, 50)

In [184]:
DiurnalTransformAmps[np.where((1/freq<=28.) & (1/freq >=0.))].shape


Out[184]:
(228, 50, 50)

In [147]:
freq = np.fft.fftfreq(powof2)
sp = np.fft.fft(cube_slice.data, n=powof2, axis=0)

half_transform = powof2/2
#half_transfrom = 246
#sort_by_amplitude = np.argsort(sp[:half_transform,0,0].real)
#1/freq[sort_by_amplitude]

In [172]:
sp.shape


Out[172]:
(492, 50, 50)

In [ ]:
sort_by_amplitude = np.argsort(sp[:half_transform,0,0].real)

In [171]:
plt.plot(1./freq[:half_transform], np.sqrt(sp[:half_transform,0,0].real**2 + sp[:half_transform,0,0].imag**2))
#plt.ylim(0,5000)
plt.xlim(0.,24.)

#plt.ylabel()
plt.xlabel('Frequency (hours)')

plt.show()

plt.plot(1./freq[:half_transform], np.sqrt(sp[:half_transform,0,0].real**2 + sp[:half_transform,0,0].imag**2))


#plt.ylim(0,1000)
#plt.xlim(0.,24)

#plt.ylabel()
plt.xlabel('Frequency (hours)')

plt.show()

plt.plot(sp[:,0,0].real, sp[:,0,0].imag)


#plt.ylim(0,1000)
plt.xlim(-1500.,1500.)

#plt.ylabel()
plt.xlabel('Frequency (hours)')

plt.show()



In [116]:
sort_by_amplitude


Out[116]:
array([ 41,   6,   1,   3,  15,   8,  22,   7,  32,  62,  26,  23,  48,
        46,   9,  21,  59,  54,  47,  38,  44,  64,  81, 102,  14,  85,
        33,  53,  69,  36, 144, 139, 122, 141, 174,  40,  52, 136, 229,
        39, 153, 107, 232, 155, 175, 115,  99, 126,  98, 129,  95, 217,
       101,  31, 194, 220, 165, 132, 130, 208,  67, 163, 200,  58,  72,
       146, 181,  94, 236,  96, 202, 152, 140, 134, 242, 223, 147, 196,
        79, 237, 193,  57,  89, 225,  13, 154,  91, 190, 192, 118, 214,
       188, 184, 187, 234, 183, 157, 228, 238, 186, 149, 204, 120, 199,
       189, 112, 206, 221,  76, 235, 176, 121,  97, 150, 245, 148, 182,
       178, 100, 210,  90, 104, 213, 218, 172,  93, 226, 143, 128, 211,
       224, 230, 215, 173, 239,  68, 233, 137, 209, 142, 138,  65, 197,
       195, 108,  74, 191, 160, 119, 219,  50, 179,  84, 131, 241, 222,
       127, 117, 198, 171, 231, 240, 201,  92, 109, 110, 170, 135,  66,
        86, 216,  24, 180, 185,  73, 133, 113,  51,  61, 177, 114, 167,
        71, 158, 123,  63, 227, 151, 203,  37, 243, 212, 207,  70, 145,
        88, 103,  30,  18,  78,  56, 111, 162, 166,  87, 169, 125,  55,
       105, 106, 161, 244, 159, 156,  77, 168,  75,  49,  28, 116,  80,
       205, 124,  34, 164,  60,  35,  83,  45,  17,  11,  42,  10,  29,
        27,  43,  82,  25,  19,  20,   4,  12,  16,   5,   2,   0])

In [121]:
freq


Out[121]:
array([ 0.        ,  0.00203252,  0.00406504,  0.00609756,  0.00813008,
        0.0101626 ,  0.01219512,  0.01422764,  0.01626016,  0.01829268,
        0.0203252 ,  0.02235772,  0.02439024,  0.02642276,  0.02845528,
        0.0304878 ,  0.03252033,  0.03455285,  0.03658537,  0.03861789,
        0.04065041,  0.04268293,  0.04471545,  0.04674797,  0.04878049,
        0.05081301,  0.05284553,  0.05487805,  0.05691057,  0.05894309,
        0.06097561,  0.06300813,  0.06504065,  0.06707317,  0.06910569,
        0.07113821,  0.07317073,  0.07520325,  0.07723577,  0.07926829,
        0.08130081,  0.08333333,  0.08536585,  0.08739837,  0.08943089,
        0.09146341,  0.09349593,  0.09552846,  0.09756098,  0.0995935 ,
        0.10162602,  0.10365854,  0.10569106,  0.10772358,  0.1097561 ,
        0.11178862,  0.11382114,  0.11585366,  0.11788618,  0.1199187 ,
        0.12195122,  0.12398374,  0.12601626,  0.12804878,  0.1300813 ,
        0.13211382,  0.13414634,  0.13617886,  0.13821138,  0.1402439 ,
        0.14227642,  0.14430894,  0.14634146,  0.14837398,  0.1504065 ,
        0.15243902,  0.15447154,  0.15650407,  0.15853659,  0.16056911,
        0.16260163,  0.16463415,  0.16666667,  0.16869919,  0.17073171,
        0.17276423,  0.17479675,  0.17682927,  0.17886179,  0.18089431,
        0.18292683,  0.18495935,  0.18699187,  0.18902439,  0.19105691,
        0.19308943,  0.19512195,  0.19715447,  0.19918699,  0.20121951,
        0.20325203,  0.20528455,  0.20731707,  0.20934959,  0.21138211,
        0.21341463,  0.21544715,  0.21747967,  0.2195122 ,  0.22154472,
        0.22357724,  0.22560976,  0.22764228,  0.2296748 ,  0.23170732,
        0.23373984,  0.23577236,  0.23780488,  0.2398374 ,  0.24186992,
        0.24390244,  0.24593496,  0.24796748,  0.25      ,  0.25203252,
        0.25406504,  0.25609756,  0.25813008,  0.2601626 ,  0.26219512,
        0.26422764,  0.26626016,  0.26829268,  0.2703252 ,  0.27235772,
        0.27439024,  0.27642276,  0.27845528,  0.2804878 ,  0.28252033,
        0.28455285,  0.28658537,  0.28861789,  0.29065041,  0.29268293,
        0.29471545,  0.29674797,  0.29878049,  0.30081301,  0.30284553,
        0.30487805,  0.30691057,  0.30894309,  0.31097561,  0.31300813,
        0.31504065,  0.31707317,  0.31910569,  0.32113821,  0.32317073,
        0.32520325,  0.32723577,  0.32926829,  0.33130081,  0.33333333,
        0.33536585,  0.33739837,  0.33943089,  0.34146341,  0.34349593,
        0.34552846,  0.34756098,  0.3495935 ,  0.35162602,  0.35365854,
        0.35569106,  0.35772358,  0.3597561 ,  0.36178862,  0.36382114,
        0.36585366,  0.36788618,  0.3699187 ,  0.37195122,  0.37398374,
        0.37601626,  0.37804878,  0.3800813 ,  0.38211382,  0.38414634,
        0.38617886,  0.38821138,  0.3902439 ,  0.39227642,  0.39430894,
        0.39634146,  0.39837398,  0.4004065 ,  0.40243902,  0.40447154,
        0.40650407,  0.40853659,  0.41056911,  0.41260163,  0.41463415,
        0.41666667,  0.41869919,  0.42073171,  0.42276423,  0.42479675,
        0.42682927,  0.42886179,  0.43089431,  0.43292683,  0.43495935,
        0.43699187,  0.43902439,  0.44105691,  0.44308943,  0.44512195,
        0.44715447,  0.44918699,  0.45121951,  0.45325203,  0.45528455,
        0.45731707,  0.45934959,  0.46138211,  0.46341463,  0.46544715,
        0.46747967,  0.4695122 ,  0.47154472,  0.47357724,  0.47560976,
        0.47764228,  0.4796748 ,  0.48170732,  0.48373984,  0.48577236,
        0.48780488,  0.4898374 ,  0.49186992,  0.49390244,  0.49593496,
        0.49796748, -0.5       , -0.49796748, -0.49593496, -0.49390244,
       -0.49186992, -0.4898374 , -0.48780488, -0.48577236, -0.48373984,
       -0.48170732, -0.4796748 , -0.47764228, -0.47560976, -0.47357724,
       -0.47154472, -0.4695122 , -0.46747967, -0.46544715, -0.46341463,
       -0.46138211, -0.45934959, -0.45731707, -0.45528455, -0.45325203,
       -0.45121951, -0.44918699, -0.44715447, -0.44512195, -0.44308943,
       -0.44105691, -0.43902439, -0.43699187, -0.43495935, -0.43292683,
       -0.43089431, -0.42886179, -0.42682927, -0.42479675, -0.42276423,
       -0.42073171, -0.41869919, -0.41666667, -0.41463415, -0.41260163,
       -0.41056911, -0.40853659, -0.40650407, -0.40447154, -0.40243902,
       -0.4004065 , -0.39837398, -0.39634146, -0.39430894, -0.39227642,
       -0.3902439 , -0.38821138, -0.38617886, -0.38414634, -0.38211382,
       -0.3800813 , -0.37804878, -0.37601626, -0.37398374, -0.37195122,
       -0.3699187 , -0.36788618, -0.36585366, -0.36382114, -0.36178862,
       -0.3597561 , -0.35772358, -0.35569106, -0.35365854, -0.35162602,
       -0.3495935 , -0.34756098, -0.34552846, -0.34349593, -0.34146341,
       -0.33943089, -0.33739837, -0.33536585, -0.33333333, -0.33130081,
       -0.32926829, -0.32723577, -0.32520325, -0.32317073, -0.32113821,
       -0.31910569, -0.31707317, -0.31504065, -0.31300813, -0.31097561,
       -0.30894309, -0.30691057, -0.30487805, -0.30284553, -0.30081301,
       -0.29878049, -0.29674797, -0.29471545, -0.29268293, -0.29065041,
       -0.28861789, -0.28658537, -0.28455285, -0.28252033, -0.2804878 ,
       -0.27845528, -0.27642276, -0.27439024, -0.27235772, -0.2703252 ,
       -0.26829268, -0.26626016, -0.26422764, -0.26219512, -0.2601626 ,
       -0.25813008, -0.25609756, -0.25406504, -0.25203252, -0.25      ,
       -0.24796748, -0.24593496, -0.24390244, -0.24186992, -0.2398374 ,
       -0.23780488, -0.23577236, -0.23373984, -0.23170732, -0.2296748 ,
       -0.22764228, -0.22560976, -0.22357724, -0.22154472, -0.2195122 ,
       -0.21747967, -0.21544715, -0.21341463, -0.21138211, -0.20934959,
       -0.20731707, -0.20528455, -0.20325203, -0.20121951, -0.19918699,
       -0.19715447, -0.19512195, -0.19308943, -0.19105691, -0.18902439,
       -0.18699187, -0.18495935, -0.18292683, -0.18089431, -0.17886179,
       -0.17682927, -0.17479675, -0.17276423, -0.17073171, -0.16869919,
       -0.16666667, -0.16463415, -0.16260163, -0.16056911, -0.15853659,
       -0.15650407, -0.15447154, -0.15243902, -0.1504065 , -0.14837398,
       -0.14634146, -0.14430894, -0.14227642, -0.1402439 , -0.13821138,
       -0.13617886, -0.13414634, -0.13211382, -0.1300813 , -0.12804878,
       -0.12601626, -0.12398374, -0.12195122, -0.1199187 , -0.11788618,
       -0.11585366, -0.11382114, -0.11178862, -0.1097561 , -0.10772358,
       -0.10569106, -0.10365854, -0.10162602, -0.0995935 , -0.09756098,
       -0.09552846, -0.09349593, -0.09146341, -0.08943089, -0.08739837,
       -0.08536585, -0.08333333, -0.08130081, -0.07926829, -0.07723577,
       -0.07520325, -0.07317073, -0.07113821, -0.06910569, -0.06707317,
       -0.06504065, -0.06300813, -0.06097561, -0.05894309, -0.05691057,
       -0.05487805, -0.05284553, -0.05081301, -0.04878049, -0.04674797,
       -0.04471545, -0.04268293, -0.04065041, -0.03861789, -0.03658537,
       -0.03455285, -0.03252033, -0.0304878 , -0.02845528, -0.02642276,
       -0.02439024, -0.02235772, -0.0203252 , -0.01829268, -0.01626016,
       -0.01422764, -0.01219512, -0.0101626 , -0.00813008, -0.00609756,
       -0.00406504, -0.00203252])

In [122]:
len(sp[:,0,0].real)/2


Out[122]:
246

In [141]:



Out[141]:
array([ 512.        ,  170.66666667,  256.        ,  128.        ,
        102.4       ,   85.33333333,   73.14285714,   64.        ,
         56.88888889,   51.2       ,   16.51612903,   46.54545455,
         16.        ,   17.06666667,   17.65517241,   15.51515152,
         18.28571429,   15.05882353,   18.96296296,    9.14285714,
          9.30909091,    8.98245614,    9.48148148,    8.82758621,
         14.62857143,    8.6779661 ,    9.66037736,    6.32098765,
          6.24390244,    6.4       ,    6.48101266,    8.53333333,
          6.1686747 ,    4.83018868,    4.87619048,    6.0952381 ,
          4.78504673,    9.84615385,    4.92307692,    6.56410256,
          3.90839695,   14.22222222,    4.74074074,   11.90697674,
          3.87878788,   42.66666667,    3.93846154,   19.69230769,
          3.84962406,    6.02352941,    4.97087379,    3.28205128,
          4.69724771,    3.30322581,    2.82872928,    3.2611465 ,
          3.96899225,    2.81318681,    3.24050633,    6.64935065,
          2.84444444,    3.32467532,    3.82089552,    2.47342995,
          2.48543689,    8.39344262,    2.49756098,    2.21645022,
          2.20689655,    2.22608696,    2.00784314,    2.8603352 ,
          4.        ,    2.79781421,    2.46153846,    2.50980392,
          3.22012579,    2.23580786,    4.65454545,    3.34640523,
          5.01960784,    2.19742489,    2.01574803,    2.7826087 ,
          4.03149606,   10.03921569,    3.79259259,    2.87640449,
          2.18803419,    2.44976077,    2.52216749,    2.24561404,
          2.02371542,    5.95348837,    3.2       ,    3.36842105,
          2.76756757,    2.53465347,    4.61261261,    6.73684211,
          2.43809524,    2.03174603,    2.89265537,    2.1787234 ,
          2.25550661,    3.76470588,    5.06930693,    4.06349206,
          3.18012422,    2.75268817,    2.26548673,    3.39072848,
          8.25806452,    2.54726368,   10.24      ,    2.16949153,
          2.90909091,    2.42654028,    2.03984064,   13.83783784,
          5.88505747,    4.57142857,    3.73722628,    3.41333333,
          2.16033755,    3.16049383,    5.12      ,    2.41509434,
          6.82666667,    2.048     ,    2.56      ,    2.73796791,
          4.096     ,    2.27555556,    2.92571429,   20.48      ,
          2.1512605 ,    2.72340426,    2.0562249 ,    3.71014493,
          2.28571429,    2.57286432,    3.14110429,    2.40375587,
          4.53097345,    2.94252874,    8.12698413,    5.81818182,
          3.43624161,    4.12903226,    5.17171717,    2.70899471,
          2.14225941,    2.39252336,    2.06451613,    2.29596413,
          2.58585859,    3.12195122,    3.68345324,    3.45945946,
          2.95953757,    6.91891892,   10.44897959,    2.07287449,
          4.49122807,    2.13333333,    2.38139535,    2.30630631,
          4.16260163,    2.69473684,    2.59898477,    3.1030303 ,
          3.4829932 ,    5.2244898 ,    2.12448133,    2.97674419,
          2.08130081,    3.65714286,   13.47368421,    2.31674208,
          2.68062827,    2.37037037,    5.75280899,    2.6122449 ,
          2.08979592,    3.08433735,    2.11570248,    4.45217391,
          2.32727273,    2.66666667,    2.359447  ,    2.10699588,
          3.01176471,    4.19672131,    2.34862385,    2.09836066,
          3.63120567,    2.62564103,    2.33789954,    2.63917526,
          2.65284974,    3.50684932,    3.06586826,    7.01369863,
          2.99415205,    3.04761905,    3.6056338 ,    3.0295858 ,
          3.53103448,    5.27835052,    5.68888889,    4.4137931 ,
          3.58041958,    3.55555556,    7.87692308,    4.23140496,
          4.26666667,   10.66666667,    4.37606838,    5.62637363,
          7.11111111,    4.33898305,    8.        ,    5.33333333,
          4.30252101,   21.33333333,    5.38947368,    5.56521739,
         39.38461538,    5.50537634,    5.44680851,    7.75757576,
          7.21126761,   13.12820513,    7.64179104,    7.31428571,
         10.89361702,    7.52941176,    7.42028986,   11.63636364,
         11.13043478,   11.37777778,   12.8       ,   22.26086957,
         12.48780488,   36.57142857,   23.27272727,   12.19047619,
         24.38095238,   34.13333333,   32.        ,   25.6       ,
         26.94736842,   30.11764706,   28.44444444,           inf])